# Copyright (C) 2011, 2012  Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# $Id: Makefile.in,v 1.14 2012-01-27 23:46:58 tbox Exp $

srcdir =	@srcdir@
VPATH =		@srcdir@
top_srcdir =	@top_srcdir@

# Attempt to disable parallel processing.
.NOTPARALLEL:
.NO_PARALLEL:

@BIND9_VERSION@

@BIND9_MAKE_INCLUDES@

CINCLUDES =	-I. -Iinclude ${DNS_INCLUDES} ${ISC_INCLUDES} @DST_OPENSSL_INC@
CDEFINES =	@USE_OPENSSL@ -DTESTS="\"${top_builddir}/lib/dns/tests/\""

ISCLIBS =	../../isc/libisc.@A@
ISCDEPLIBS =	../../isc/libisc.@A@
DNSLIBS =	../libdns.@A@ @DNS_CRYPTO_LIBS@
DNSDEPLIBS =	../libdns.@A@

LIBS =		@LIBS@ @ATFLIBS@

OBJS =		dnstest.@O@
SRCS =		dnstest.c master_test.c dbiterator_test.c time_test.c \
		private_test.c update_test.c zonemgr_test.c zt_test.c \
		dbdiff_test.c nsec3_test.c

SUBDIRS =
TARGETS =	master_test@EXEEXT@ dbiterator_test@EXEEXT@ time_test@EXEEXT@ \
		private_test@EXEEXT@ update_test@EXEEXT@ zonemgr_test@EXEEXT@ \
		zt_test@EXEEXT@ dbversion_test@EXEEXT@ dbdiff_test@EXEEXT@ \
		nsec3_test@EXEEXT@

@BIND9_MAKE_RULES@

master_test@EXEEXT@: master_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${PERL} mkraw.pl < testdata/master/master12.data.in \
		> testdata/master/master12.data
	${PERL} mkraw.pl < testdata/master/master13.data.in \
		> testdata/master/master13.data
	${PERL} mkraw.pl < testdata/master/master14.data.in \
		> testdata/master/master14.data
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			master_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

time_test@EXEEXT@: time_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			time_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

private_test@EXEEXT@: private_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			private_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

update_test@EXEEXT@: update_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			update_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

zonemgr_test@EXEEXT@: zonemgr_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			zonemgr_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

dbiterator_test@EXEEXT@: dbiterator_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			dbiterator_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

dbdiff_test@EXEEXT@: dbdiff_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			dbdiff_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

dbversion_test@EXEEXT@: dbversion_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			dbversion_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

zt_test@EXEEXT@: zt_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			zt_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

nsec3_test@EXEEXT@: nsec3_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
			nsec3_test.@O@ dnstest.@O@ ${DNSLIBS} \
				${ISCLIBS} ${LIBS}

unit::
	sh ${top_srcdir}/unit/unittest.sh

clean distclean::
	rm -f ${TARGETS}
	rm -f atf.out
	rm -f testdata/master/master12.data testdata/master/master13.data \
		testdata/master/master14.data 
